package com.sjgtw.cloud.job.mapper;

import java.util.List;
import com.sjgtw.cloud.job.domain.SysJob;

/**
 * <p>Title: 定时任务信息处理--数据层--接口</p>
 * <p>Description: </p>
 *
* @author Admin
 * @date 2020-9-21
 */
public interface SysJobMapper {

    /**
     * <p>Title: 获取quartz调度器的计划任务</p>
     * <p>Description: </p>
     *
     * @param job 调度信息
     * @return 调度任务集合
     */
    public List<SysJob> selectJobList(SysJob job);

    /**
     * 查询所有调度任务
     */
    public List<SysJob> selectJobAll();

    /**
     * <p>Title: 通过调度任务ID查询调度信息</p>
     * <p>Description: </p>
     *
     * @param jobId 调度任务ID
     * @return 调度任务对象信息
     */
    public SysJob selectJobById(Long jobId);

    /**
     * <p>Title: 删除任务</p>
     * <p>Description: 删除任务后，所对应的trigger也将被删除</p>
     *
     * @param job 调度信息
     * @return 结果
     */
    public int deleteJobById(Long jobId);

    /**
     * <p>Title: 批量删除调度信息</p>
     * <p>Description: 删除任务后，所对应的trigger也将被删除</p>
     *
     * @param jobIds 需要删除的任务ID
     * @return 结果
     */
    public int deleteJobByIds(Long[] ids);

    /**
     * <p>Title: 修改任务调度状态</p>
     * <p>Description: </p>
     *
     * @param job 调度信息
     * @return 结果
     */
    public int updateJob(SysJob job);

    /**
     * <p>Title: 新增任务</p>
     * <p>Description: </p>
     *
     * @param job 调度信息
     * @return 结果
     */
    public int insertJob(SysJob job);
}
